Моделювання режиму очікування в цифрових пристроях за допомогою оператора wait

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ЕОМ  Лабораторна робота №4 Моделювання режиму очікування в цифрових пристроях за допомогою оператора wait Мета роботи: отримати практичні навички застосування оператора wait при моделюванні різних режимів очікування у Active-HDL. Навчитися виконувати порівняння часових діаграм. Основні види застосування оператору wait: Тип оператора wait Опис Приклади  wait for tyme_expression Припиняє процес на визначений час; Час може бути заданий безпосередньо, або як вираз, результатом якого є значення часу. Використовуються в основному для моделювання на випробувальних стендах. wait for 10 ns; wait for ClkPeriod / 2;  wait until condition Припиняє процес доти, доки задана умова не стане істинною завдяки зміні будь-якого сигналу, що містяться в умові. При цьому, якщо сигнал не змінюється, wait until не поновить процес, навіть якщо сигнал задовільняє умову. wait until CLK='1'; wait until CE and (not RST); wait until IntData > 16;  wait on sensitivity_list Припиняє процес доти, доки не відбудеться подія з будь-яким з сигналів, вказаних в списку чутливості. Іншими словами, процес поновлюється тільки тоді, коли зміниться значення хоча б одного сигналу з списку чутливості. wait on CLK; wait on Enable, Data;  складний wait Містить комбінацію двох або трьох різних форм оператора wait. wait on Data until CLK='1'; wait until Clk='1' for 10 ns;  Варіант базового коду та відповідні результати моделювання (п. 4): --Pr_CLK: process(CLK) --begin --wait for 10 ns; --end process Pr_CLK; Pr_A: process(CLK) begin if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; --wait for 20 ns; --wait on CLK; end process Pr_A; Pr_B: process(Ainout) begin if Ainout'event then Bout<= not Ainout; end if; --wait until Ainout'event; --Bout<= not Ainout; end process Pr_B; end object;  Варіанти коду із застосуванням оператора wait (пп. 6, 7, 8): Pr_CLK: process begin wait for 10 ns; end process Pr_CLK; Pr_A: process begin if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; --wait for 20 ns; wait on CLK; end process Pr_A; Pr_B: process(Ainout) begin if Ainout'event then Bout<= not Ainout; end if; wait until Ainout'event; Bout<= not Ainout; end process Pr_B; end object; Результати порівняння (п. 9):  Варіанти коду із застосуванням оператора wait (п. 12): Pr_CLK: process begin wait for 10 ns; end process Pr_CLK; Pr_A: process begin if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; wait for 30 ns; wait on CLK; end process Pr_A; Pr_B: process(Ainout) begin if Ainout'event then Bout<= not Ainout; end if; wait until Ainout'event; Bout<= not Ainout; end process Pr_B; end object; Результати моделювання (п. 12):  Результати моделювання (п. 14):  Результати моделювання (п. 15):  Висновки: Для синхронізації процесів у мові VHDL використовується оператор wait. Так як буває багато різних причин зупинки – мова VHDL підтримує 4 форми оператору затримки. Також оператор затримки можна використовувати для заміни списку чутливості в процесах.
Антиботан аватар за замовчуванням

10.09.2013 19:09

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини